/*
 * matrix.h
 *
 *  Created on: 30.10.2012
 *      Author: Myrex
 */

#ifndef MATRIX_H_
#define MATRIX_H_


typedef struct {
	int x;
	int y;
	double **data;

} matrix_t;

typedef enum {
	mtx_ok = 0,
	mtx_wrong_dim,
	mtx_no_mem
} mtx_err_e;


mtx_err_e mtx_init(matrix_t *mt, int width, int height);
mtx_err_e mtx_free(matrix_t *mt);


mtx_err_e mtx_mul(matrix_t *mtxR, matrix_t *mtA, matrix_t *mtB);

mtx_err_e mtx_scm(matrix_t *mtR, matrix_t *mtS, double s);

mtx_err_e mtx_sum(matrix_t *mtxR, matrix_t *mtA, matrix_t *mtB);

mtx_err_e mtx_set_E(matrix_t *mt);
mtx_err_e mtx_copy(matrix_t *mR, matrix_t *mS);




#endif /* MATRIX_H_ */
